/*
 * @lc app=leetcode.cn id=4 lang=golang
 *
 * [4] 寻找两个有序数组的中位数
 */

// @lc code=start
func findMedianSortedArrays(nums1 []int, nums2 []int) float64 {
	arr := mergeArr(nums1, nums2)
	count := len(arr)
	i := count / 2
	if count%2 == 0 {
		return float64(arr[i]+arr[i-1]) / 2
	} else {
		return float64(arr[i])
	}
}

func mergeArr(nums1, nums2 []int) []int {
	output := []int{}
	for len(nums1) > 0 && len(nums2) > 0 {
		if nums1[0] < nums2[0] {
			output = append(output, nums1[0])
			nums1 = nums1[1:]
		} else {
			output = append(output, nums2[0])
			nums2 = nums2[1:]
		}
	}

	output = append(output, nums1...)
	output = append(output, nums2...)

	return output
}

// @lc code=end

